﻿/*
 * Microsoft .NET  2.0+ version of Sphinx searchd client (Sphinx API)
 * 
 * Copyright (c) 2009, Shaun Berryman
 * All rights reserved
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License. You should have
 * received a copy of the GPL license along with this program; if you
 * did not, you can find it at http://www.gnu.org/
 */

using System;

namespace SphinxSearchApi
{
    /// <summary>
    /// There are the following result sorting modes available
    /// </summary>
    public enum SortEnum : int
    {
        /// <summary>
        /// Mode, that sorts by relevance in descending order (best matches first)
        /// </summary>
        Relevance = 0,

        /// <summary>
        /// Mode, that sorts by an attribute in descending order (bigger attribute values first)
        /// </summary>
        AttributeDescending = 1,

        /// <summary>
        /// Mode, that sorts by an attribute in ascending order (smaller attribute values first)
        /// </summary>
        AttributeAscending = 2,

        /// <summary>
        /// Mode, that sorts by time segments (last hour/day/week/month) in descending order, and 
        /// then by relevance in descending order
        /// </summary>
        TimeSegments = 3,

        /// <summary>
        /// Mode, that sorts by SQL-like combination of columns in ASC/DESC order
        /// </summary>
        Extended = 4,

        /// <summary>
        /// Mode, that sorts by an arithmetic expression.
        /// </summary>
        Expression = 5
    }
}
